package com.frcdi.qms.measurement.domain;

import com.frcdi.qms.common.annotation.Excel;
import com.frcdi.qms.common.core.domain.BaseEntity;
import com.frcdi.qms.equipment.domain.EquipmentBase;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;

/**
 * 一般性测量(天平)对象 bus_measurement_balance
 *
 * @author cell
 * @date 2024-02-26
 */
@ApiModel(value = "一般性测量(天平)对象")
public class MeasurementBalance extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long measurementId;

    /** 编号 */
    @Excel(name = "编号")
    private String measurementNo;

    /** 供试品名称 */
    @Excel(name = "供试品名称")
    private String sampleName;

    /** 供试品描述 */
    @Excel(name = "供试品描述")
    private String sampleDescription;

    /** 供试品数量 */
    @Excel(name = "供试品数量")
    private Integer sampleNumber;

    /** 已测量数量 */
    @Excel(name = "已测量数量")
    private Integer measuredNumber;

    /** 测量对象名称 */
    @Excel(name = "测量对象名称")
    private String measurementName;

    /** 测量对象类型 */
    @Excel(name = "测量对象类型")
    private String measurementType;

    /** 天平（设备）id */
    @Excel(name = "天平", readConverterExp = "设=备")
    private String balance;

    /** 上限 */
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    @Excel(name = "上限")
    private BigDecimal maximum;

    /** 下限 */
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    @Excel(name = "下限")
    private BigDecimal minimum;

    /** 单位 */
    @Excel(name = "单位")
    private String unitName;

    /** 提交状态（未提交/已提交） */
    @Excel(name = "提交状态", readConverterExp = "未=提交/已提交")
    private String submitStatus;

    /** 审核结果（未审核/已通过/未通过） */
    @Excel(name = "审核结果", readConverterExp = "未=审核/已通过/未通过")
    private String auditResult;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /** 执行状态 */
    @Excel(name = "执行状态")
    private String status;

    /** 发起状态（0未发起1已发起2已撤销） */
    @Excel(name = "发起状态", readConverterExp = "0=未发起1已发起2已撤销")
    private String taskStatus;

    /** 流程发起后的任务id */
    @Excel(name = "流程发起后的任务id")
    private String taskId;

    private EquipmentBase equipmentEntity;

    public EquipmentBase getEquipmentEntity() {
        return equipmentEntity;
    }

    public void setEquipmentEntity(EquipmentBase equipmentEntity) {
        this.equipmentEntity = equipmentEntity;
    }

    public void setMeasurementId(Long measurementId)
    {
        this.measurementId = measurementId;
    }

    public Long getMeasurementId()
    {
        return measurementId;
    }
    public void setMeasurementNo(String measurementNo)
    {
        this.measurementNo = measurementNo;
    }

    public String getMeasurementNo()
    {
        return measurementNo;
    }
    public void setSampleName(String sampleName)
    {
        this.sampleName = sampleName;
    }

    public String getSampleName()
    {
        return sampleName;
    }
    public void setSampleDescription(String sampleDescription)
    {
        this.sampleDescription = sampleDescription;
    }

    public String getSampleDescription()
    {
        return sampleDescription;
    }
    public void setSampleNumber(Integer sampleNumber)
    {
        this.sampleNumber = sampleNumber;
    }

    public Integer getSampleNumber()
    {
        return sampleNumber;
    }
    public void setMeasuredNumber(Integer measuredNumber)
    {
        this.measuredNumber = measuredNumber;
    }

    public Integer getMeasuredNumber()
    {
        return measuredNumber;
    }
    public void setMeasurementName(String measurementName)
    {
        this.measurementName = measurementName;
    }

    public String getMeasurementName()
    {
        return measurementName;
    }
    public void setMeasurementType(String measurementType)
    {
        this.measurementType = measurementType;
    }

    public String getMeasurementType()
    {
        return measurementType;
    }
    public void setBalance(String balance)
    {
        this.balance = balance;
    }

    public String getBalance()
    {
        return balance;
    }
    public void setMaximum(BigDecimal maximum)
    {
        this.maximum = maximum;
    }

    public BigDecimal getMaximum()
    {
        return maximum;
    }
    public void setMinimum(BigDecimal minimum)
    {
        this.minimum = minimum;
    }

    public BigDecimal getMinimum()
    {
        return minimum;
    }
    public void setUnitName(String unitName)
    {
        this.unitName = unitName;
    }

    public String getUnitName()
    {
        return unitName;
    }
    public void setSubmitStatus(String submitStatus)
    {
        this.submitStatus = submitStatus;
    }

    public String getSubmitStatus()
    {
        return submitStatus;
    }
    public void setAuditResult(String auditResult)
    {
        this.auditResult = auditResult;
    }

    public String getAuditResult()
    {
        return auditResult;
    }
    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }
    public void setTaskStatus(String taskStatus)
    {
        this.taskStatus = taskStatus;
    }

    public String getTaskStatus()
    {
        return taskStatus;
    }
    public void setTaskId(String taskId)
    {
        this.taskId = taskId;
    }

    public String getTaskId()
    {
        return taskId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("measurementId", getMeasurementId())
            .append("measurementNo", getMeasurementNo())
            .append("sampleName", getSampleName())
            .append("sampleDescription", getSampleDescription())
            .append("sampleNumber", getSampleNumber())
            .append("measuredNumber", getMeasuredNumber())
            .append("measurementName", getMeasurementName())
            .append("measurementType", getMeasurementType())
            .append("balance", getBalance())
            .append("maximum", getMaximum())
            .append("minimum", getMinimum())
            .append("unitName", getUnitName())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("submitStatus", getSubmitStatus())
            .append("auditResult", getAuditResult())
            .append("delFlag", getDelFlag())
            .append("status", getStatus())
            .append("remark", getRemark())
            .append("taskStatus", getTaskStatus())
            .append("taskId", getTaskId())
            .toString();
    }
}
